1510 IF FK AND F3 THEN F=F-10 ELSE IF FK AND F4 THEN F=F+10 ELSE IF FK AND F1 THEN 20
1520 IF I$=CHR$(8) THEN B$="........": LOCATE ,POS(0)-1:PRINT " ";: LOCATE ,POS(0)-1:C$="":GOTO 2000
1530 IF I$=":" THEN B$="---...":GOTO 2000
1540 IF I$=";" THEN B$="-.-.-.": GOTO 2000
1550 IF I$="(" OR C$=")" THEN B$="-.--.-":GOTO 2000
1560 IF I$="+" OR I$="&" THEN B$=". ...":GOTO 2000
1990 B$=""
2000 PRINT I$; 'Display while sending
2010 FOR C=1 TO LEN(B$)
2020 IF MID$(B$,C,1)="." THEN MOTOR 1:SOUND F,S:SOUND 32767,0.1 ELSE IF MID$(B$,C,1)="-" THEN MOTOR 1:SOUND F,S:SOUND 32767,S:SOUND 32767,S:SOUND 32767,0.1 ELSE SOUND 32767,S:SOUND 32767,0.1
2025 MOTOR 0:SOUND 32767,S:SOUND 32767,0.1 'Space after Dot/Dash
2030 NEXT C 'Get the next Dot or Dash
2035 SOUND 32767,S*1.5:SOUND 32767,0.1 'Space after letter
2040 RETURN 'Get the next letter
3000 'Convert text file into code
3005 ON ERROR GOTO 3010:PRINT "Current files: ";:FILES "*. ":PRINT
3010 INPUT "Enter file name: ",CODEFILE$
3020 OPEN CODEFILE$+". " FOR INPUT AS #1
3030 CLS:LOCATE 25,1:PRINT "Reading from file ";CODEFILE$:LOCATE 1,1:PRINT "Text typed below sent at ";W;" WPM":LOCATE 3,1
3040 IF EOF(1) THEN CLOSE:RETURN
3050 LINE INPUT #1,MSG$:GOSUB 500:PRINT:GOTO 3040
3200 'Enter and store text
3205 ON ERROR GOTO 3210:PRINT "Current files: ";:FILES "*. ":PRINT
3210 INPUT "Enter file name: ",CODEFILE$:OPEN CODEFILE$+". " FOR OUTPUT AS #1
3215 CLS:LOCATE 25,1:PRINT "Enter ";CHR$(17);"SOUNDSOUND' when done":LOCATE 1,1:PRINT "Enter text to be stored below:"